package com.winshare.saleAssistant.mapper;

import com.winshare.saleAssistant.domain.dto.req.BaseIdDTO;
import com.winshare.saleAssistant.domain.dto.req.RegionCreateDTO;
import com.winshare.saleAssistant.domain.dto.req.RegionDeleteDTO;
import com.winshare.saleAssistant.domain.dto.req.RegionUpdateDTO;
import com.winshare.saleAssistant.domain.dto.resp.RegionRespDTO;
import com.winshare.saleAssistant.domain.entity.RegionDO;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
import org.mapstruct.factory.Mappers;

@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface RegionMapStruct {

    RegionMapStruct INSTANCE = Mappers.getMapper(RegionMapStruct.class);

    RegionDO fromRegionCreateDTO(RegionCreateDTO regionCreateDTO);

    RegionDO fromRegionUpdateDTO(RegionUpdateDTO regionUpdateDTO);

    RegionDO fromRegionDeleteDTO(RegionDeleteDTO regionDeleteDTO);

    RegionDO fromBaseIdDTO(BaseIdDTO baseIdDTO);

    RegionRespDTO fromRegionDO(RegionDO regionDOInSql);
}
